1 Introduction

The Meteoritical Society collects data on meteorites that have fallen to Earth from outer space. This dataset includes the location, mass, composition, and fall year for over 45,000 meteorites that have struck our planet.

This dataset was downloaded from NASA’s Data Portal, and is based on The Meteoritical Society's Meteoritical Bulletin Database (this latter database provides additional information such as meteorite images, links to primary sources, etc.).

We explore the data as outlined in the Table Of Contents.

This is a Work In Progress. Please upvote if you like it.

2 Read the Data

library(tidyverse)
library(leaflet)
library(leaflet.extras)
library(knitr)
library(kableExtra)

rm(list=ls())

fillColor = "#FFA07A"
fillColor2 = "#F1C40F"

MetLandings = read_csv("../input/meteorite-landings.csv")

MetLandings = MetLandings %>% 
  
  # filter out weird years 
  filter(year>=860 & year<=2016) %>% 
  
  # filter out weird locations
  filter(reclong<=180 & reclong>=-180 & (reclat!=0 | reclong!=0))

3 Variable Types

We examine the most common Variable Types in this section. This is meant to introduce you to the various types of variables which will be used for Exploratory Data Analysis. This is not an exhaustive and complete set of variable types.

The following explanation has been taken from the Australian Bureau of Statistics

3.1 Numeric Variables

Numeric variables have values that describe a measurable quantity as a number, like ‘how many’ or ‘how much’. Therefore numeric variables are quantitative variables.

A continuous variable is a numeric variable. Observations can take any value between a certain set of real numbers. The value given to an observation for a continuous variable can include values as small as the instrument of measurement allows. Examples of continuous variables include height, time, age, and temperature.

A discrete variable is a numeric variable. Observations can take a value based on a count from a set of distinct whole values. A discrete variable cannot take the value of a fraction between one value and the next closest value. Examples of discrete variables include the number of registered cars, number of business locations, and number of children in a family, all of of which measured as whole units (i.e. 1, 2, 3 cars).

The data collected for a numeric variable are quantitative data.

3.2 Categorical Variables

Categorical variables have values that describe a ‘quality’ or ‘characteristic’ of a data unit, like ‘what type’ or ‘which category’. Categorical variables fall into mutually exclusive (in one category or in another) and exhaustive (include all possible options) categories. Therefore, categorical variables are qualitative variables and tend to be represented by a non-numeric value.

Categorical variables may be further described as ordinal or nominal:

An ordinal variable is a categorical variable. Observations can take a value that can be logically ordered or ranked. The categories associated with ordinal variables can be ranked higher or lower than another, but do not necessarily establish a numeric difference between each category. Examples of ordinal categorical variables include academic grades (i.e. A, B, C), clothing size (i.e. small, medium, large, extra large) and attitudes (i.e. strongly agree, agree, disagree, strongly disagree).

A nominal variable is a categorical variable. Observations can take a value that is not able to be organised in a logical sequence. Examples of nominal categorical variables include sex, business type, eye colour, religion and brand.

4 Graph Types

We explore 6 simple Graph Types.

4.1 Bar Plot

The Bar Plot examines the distribution of a Categorical Variable.

4.2 Histogram

The Histogram examines the distribution of a Continuous Variable.

4.3 BoxPlot

When we have a Continous variable and a Categorical variable and we wish to examine the distribution of the Continous variable seperately for each of the categorical variables, a box plot can be used.

4.4 Scatter Plot

A Scatter Plot has points that show the relationship between two Continuous variables.

4.5 Facet

When we wish to seperate the distribution of a variable ( categorical or continous ) based on another categorical variable, a facet is used. A facet histogram and a facet barplot can be used.

4.6 Maps

We overlay the data on the latitude and longitude of the world and see various patterns based on this.

5 Peek into the Data

kable(head(MetLandings,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
name id nametype recclass mass fall year reclat reclong GeoLocation
Aachen 1 Valid L5 21 Fell 1880 50.77500 6.08333 (50.775000, 6.083330)
Aarhus 2 Valid H6 720 Fell 1951 56.18333 10.23333 (56.183330, 10.233330)
Abee 6 Valid EH4 107000 Fell 1952 54.21667 -113.00000 (54.216670, -113.000000)
Acapulco 10 Valid Acapulcoite 1914 Fell 1976 16.88333 -99.90000 (16.883330, -99.900000)
Achiras 370 Valid L6 780 Fell 1902 -33.16667 -64.95000 (-33.166670, -64.950000)
Adhi Kot 379 Valid EH4 4239 Fell 1919 32.10000 71.80000 (32.100000, 71.800000)

6 Class Analysis

6.1 Meteorites Class Count

6.1.1 Top 20 Class Of Meteorites by Count

We plot the Twenty most occcuring Meteorities in a flipped bar plot.

MeteoritesCount = MetLandings %>%
    group_by(recclass) %>%
    summarise(Count = n()) %>%
    arrange(desc(Count)) %>%
    ungroup() %>%
    mutate(recclass = reorder(recclass,Count)) %>%
    head(20) 

MeteoritesCount %>%
    
    ggplot(aes(x = recclass,y = Count)) +
    geom_bar(stat='identity',colour="white", fill = fillColor) +
    geom_text(aes(x = recclass, y = 1, label = paste0("(",Count,")",sep="")),
              hjust=0, vjust=.5, size = 4, colour = 'black',
              fontface = 'bold') +
    labs(x = 'Meteorites Class', 
         y = 'Count', 
         title = 'Meteorites Class and Count') +
    coord_flip() + 
    theme_bw()

6.1.2 Top 20 Meteorites and their Counts

kable(head(MeteoritesCount,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
recclass Count
L6 6583
H5 5611
H4 3335
H6 3232
L5 2746
LL5 1897

6.2 Top 20 Class Of Meteorites by Mass

6.2.1 Median Mass

We plot the Twenty most heavy Meteorities based on their median mass in a flipped bar plot.

MetHeavyMed = MetLandings %>%
    mutate(mass = mass/1e3) %>%
    group_by(recclass) %>%
    summarise(MassMed = median(mass)) %>%
    arrange(desc(MassMed)) %>%
    ungroup() %>%
    mutate(recclass = reorder(recclass,MassMed)) %>%
    head(20)
    
  
  MetHeavyMed %>%
    ggplot(aes(x = recclass,y = MassMed)) +
    geom_bar(stat='identity',colour="white", fill = fillColor) +
    geom_text(aes(x = recclass, y = 1, label = paste0("(",round(MassMed),")",sep="")),
              hjust=0, vjust=.5, size = 4, colour = 'black',
              fontface = 'bold') +
    labs(x = 'Meteorites Class', 
         y = 'Mass Median', 
         title = 'Meteorites Class and Mass Median') +
    coord_flip() + 
    theme_bw()

6.2.2 Median Mass Tabular Data

kable(head(MetHeavyMed,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
recclass MassMed
Iron, IC 683
Mesosiderite-A3/4 320
Mesosiderite-C 218
CR-an 114
Mesosiderite-B4 100
Iron, IIIAB-an 63

6.2.3 Mean Mass

We plot the Twenty most heavy Meteorities based on their mean mass in a flipped bar plot.

MetHeavyMean = MetLandings %>%
    mutate(mass = mass/1e3) %>%
    group_by(recclass) %>%
    summarise(MassMean = mean(mass)) %>%
    arrange(desc(MassMean)) %>%
    ungroup() %>%
    mutate(recclass = reorder(recclass,MassMean)) %>%
    head(20) 

   MetHeavyMean %>%
    
    ggplot(aes(x = recclass,y = MassMean)) +
    geom_bar(stat='identity',colour="white", fill = fillColor) +
    geom_text(aes(x = recclass, y = 1, label = paste0("(",round(MassMean),")",sep="")),
              hjust=0, vjust=.5, size = 4, colour = 'black',
              fontface = 'bold') +
    labs(x = 'Meteorites Class', 
         y = 'Mass Mean', 
         title = 'Meteorites Class and Mass Mean') +
    coord_flip() + 
    theme_bw()

6.2.4 Mean Mass Tabular Data

kable(head(MetHeavyMean,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
recclass MassMean
Iron, IVB 4322.8329
Iron, IIIE 2409.6104
Iron, IAB-MG 1470.2724
Iron, IC 991.1222
Iron, IAB-ung 769.3243
Mesosiderite-A1 698.2063

7 Distribution of Mass

Here Mass is a continous variable and therfore for the distribution we plot a histogram.

We plot the distribution of the Mass of the Meteorites.

MetLandings %>%
    ggplot(aes(x = mass) )+
    geom_histogram(fill = fillColor2) +
    scale_x_log10() +
    scale_y_log10() + 
    labs(x = 'Mass in gms' ,y = 'Count', title = paste("Distribution of", "mass")) +
    theme_bw()

7.1 Heaviest Meteorite

The mass is in Kilograms.

MetHeaviest =  max(MetLandings$mass,na.rm = TRUE)

MetHeviestRec = MetLandings %>%
  filter(mass == MetHeaviest) %>%
  mutate( mass = mass/1e3)

kable(MetHeviestRec,"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
name id nametype recclass mass fall year reclat reclong GeoLocation
Hoba 11890 Valid Iron, IVB 60000 Found 1920 -19.58333 17.91667 (-19.583330, 17.916670)

7.2 Lightest Meteorite

The mass is in Kilograms.

MetLightest =  min(MetLandings$mass,na.rm = TRUE)

MetLightestRec = MetLandings %>%
  filter(mass == MetLightest) %>%
  mutate( mass = mass/1e3)

kable(head(MetLightestRec,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
name id nametype recclass mass fall year reclat reclong GeoLocation
Gove 52859 Relict Relict iron 0 Found 1979 -12.26333 136.83833 (-12.263330, 136.838330)
Österplana 048 56147 Relict Relict OC 0 Found 2004 58.58333 13.43333 (58.583330, 13.433330)
Österplana 049 56148 Relict Relict OC 0 Found 2012 58.58333 13.43333 (58.583330, 13.433330)
Österplana 050 56149 Relict Relict OC 0 Found 2003 58.58333 13.43333 (58.583330, 13.433330)
Österplana 051 56150 Relict Relict OC 0 Found 2006 58.58333 13.43333 (58.583330, 13.433330)
Österplana 052 56151 Relict Relict OC 0 Found 2006 58.58333 13.43333 (58.583330, 13.433330)

7.3 Valid Lightest Meteorite

The mass is in Kilograms.

MetLandingsValid = MetLandings %>%
  filter(nametype == 'Valid')

MetLightest =  min(MetLandingsValid$mass,na.rm = TRUE)

MetLightestRec = MetLandingsValid %>%
  filter(mass == MetLightest) %>%
  mutate( mass = mass/1e3)


kable(head(MetLightestRec,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
name id nametype recclass mass fall year reclat reclong GeoLocation
Yamato 8333 29438 Valid H5 1e-05 Found 1983 -71.5 35.66667 (-71.500000, 35.666670)

7.4 Distribution of Mass classified by Fall Type

7.4.1 Autoselect Fall Type Colors

We plot the distribution of the Mass of the Meteorites based on their Fall Type

MetLandings %>%
      ggplot(aes(x = mass, fill = fall)) +
      geom_histogram(alpha = 0.8) +
      scale_x_log10() +
      scale_y_log10() + 
      labs(x= 'Mass in gms',y = 'Count', title = paste("Distribution of", ' mass ')) +
      theme_bw()

7.4.2 Select Fall Type Colors

We plot the distribution of the Mass of the Meteorites based on their Fall Type. Here we manually select the colors of the fall type.

MetLandings %>%
  
    ggplot(aes(x = mass, fill = fall)) +    
  
      geom_histogram(alpha = 0.8) +
      scale_x_log10() +
      scale_y_log10() + 
      
      scale_fill_manual( values = c("red","blue") )+
  
      labs(x= 'Mass in gms',y = 'Count', title = paste("Distribution of", ' mass ')) +
      theme_bw()

7.5 Mass with plots for each fall Type

Here Mass is a continous variable and Fall is a categorical variable. To examine the relationships between a continous and categorical variable, we plot a facet bar plot.

MetLandings %>%
  
      ggplot(aes(x = mass, fill = fall)) +    
      geom_histogram(alpha = 0.8) +
      scale_x_log10() +
      scale_y_log10() + 
      
      scale_fill_manual( values = c("red","blue") ) +
      facet_wrap(~fall) +
  
      labs(x= 'Mass in gms',y = 'Count', title = paste("Distribution of", ' mass ')) +
      theme_bw()

7.6 Mass with plots for each fall Type

Here Mass is a continous variable and Fall is a categorical variable. To examine the relationships between a continous and categorical variable, we plot a BoxPlot plot.

In this case, we do a BoxPlot with the mass being transformed into Kilograms. The plot shows a number of outliers and the distribution of the mass for each fall type is not very clearly observed.

MetLandings %>%
  mutate( fill = as.factor(fall)) %>%
      ggplot(aes(x = fall, y= mass/1e3, fill = fall)) +
      geom_boxplot() +
      scale_fill_manual( values = c("red","blue") ) +
  
      facet_wrap(~fall) +
  
      labs(x= 'Fall Type',y = 'Mass in Kgs', title = paste("Distribution of", ' mass ')) +
      theme_bw()

7.7 Mass with plots for each fall Type ( partially removing outliers)

We filter the mass of the meteorites having less than 30kgs and do a boxplot.

MetLandings %>%
  mutate( fill = as.factor(fall)) %>%
  filter( (mass/1e3) < 30) %>%
      ggplot(aes(x = fall, y= mass/1e3, fill = fall)) +
      geom_boxplot() +
      scale_fill_manual( values = c("red","blue") ) +
  
      facet_wrap(~fall) +
  
      labs(x= 'Fall Type',y = 'Mass in Kgs', title = paste("Distribution of", ' mass ')) +
      theme_bw()

8 Distribution of Meteorite Landings

The following plot shows the distribution of the meteorite landings all over the world.

center_lon = median(MetLandings$reclong,na.rm = TRUE)
center_lat = median(MetLandings$reclat,na.rm = TRUE)


leaflet(MetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat, 
             color = c("red"))  %>%
  # controls
  setView(lng=0, lat=0,zoom = 2)

8.1 Distribution of Meteorite Landings with Meteorite Mass

The mass of the Meteorites are indicated by the Radius of the Circles.

factpal <- colorFactor(c("red","blue"), 
                       MetLandings$fall)

leaflet(MetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat,radius = ~(mass/1e3)*10 ,
             color = ~factpal(fall))  %>%
  # controls
  setView(lng=0, lat=0,zoom = 2) %>%
  
  addLegend("bottomright", pal = factpal, values = ~fall,
            title = "Meteorites landings and fall",
            opacity = 1)

9 Distribution of Indian Meteorite Landings

The following plot shows the distribution of the Indian meteorite landings.Here we have filtered the Indian meteorite landings by filtering the latitude and longitude.

IndiaMetLandings = MetLandings %>%
  filter(reclat > 8) %>%
  filter ( reclat < 38) %>%
  filter( reclong > 68 ) %>%
  filter(reclong < 98)

center_lon = median(IndiaMetLandings$reclong,na.rm = TRUE)
center_lat = median(IndiaMetLandings$reclat,na.rm = TRUE)


leaflet(IndiaMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat, 
             color = c("red"))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 5) 

9.1 Peek into the Indian Met Landings Data

IndiaMetLandings = IndiaMetLandings %>% arrange(desc(mass))

kable(head(IndiaMetLandings,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
name id nametype recclass mass fall year reclat reclong GeoLocation
Sulagiri 48951 Valid LL6 110000 Fell 2008 12.66667 78.03333 (12.666670, 78.033330)
Parnallee 18108 Valid LL3.6 77600 Fell 1857 9.23333 78.35000 (9.233330, 78.350000)
Merua 15492 Valid H5 71400 Fell 1920 25.48333 81.98333 (25.483330, 81.983330)
Mahadevpur 47361 Valid H4/5 70500 Fell 2007 27.66667 95.78333 (27.666670, 95.783330)
Rahimyar Khan 31302 Valid L5 67225 Fell 1983 28.22500 70.20000 (28.225000, 70.200000)
Dhajala 6698 Valid H3.8 45000 Fell 1976 22.37778 71.42722 (22.377780, 71.427220)

9.2 Distribution of Indian Meteorite Landings with Fall Classification

The Different Fall Types are classified by the Red and Blue Colours.

factpal <- colorFactor(c("red","blue"), 
                       IndiaMetLandings$fall)


leaflet(IndiaMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat, 
             color = ~factpal(fall))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 5) %>%
  
  addLegend("bottomright", pal = factpal, values = ~fall,
            title = "Meteorites landings and fall",
            opacity = 1)

9.3 Distribution of Indian Meteorite Landings with Meteorite Mass

The mass of the Meteorites are indicated by the Radius of the Circles.

factpal <- colorFactor(c("red","blue"), 
                       IndiaMetLandings$fall)

leaflet(IndiaMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat,radius = ~(mass) ,
             color = ~factpal(fall))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 5) %>%
  
  addLegend("bottomright", pal = factpal, values = ~fall,
            title = "Meteorites landings and fall",
            opacity = 1)

9.4 Heatmap of Indian Meteorite Landings

The intensity of the Heatmap is based on the mass of the meteorites.

IndiaMetLandings %>% leaflet() %>% addProviderTiles("Esri.NatGeoWorldMap") %>% 
  addHeatmap(lng = ~reclong, lat = ~reclat, intensity = ~mass,
             blur = 20, max = 0.05, radius = 15) %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 5) 

9.5 Distribution of Indian Meteorite Landings with Cluster Markers

The meteorite landings have been clustered and their numbers are being shown in the map.

IndiaMetLandings %>% leaflet() %>% addProviderTiles("Esri.OceanBasemap") %>% 
  addMarkers(lng = ~reclong, lat = ~reclat,clusterOptions = markerClusterOptions()) %>%
    # controls
  setView(lng=center_lon, lat=center_lat,zoom = 5) 

10 Distribution of US Meteorite Landings

The following plot shows the distribution of the US meteorite landings.Here we have filtered the US meteorite landings by filtering the latitude and longitude.

top = 49.3457868 # north lat
left = -124.7844079 # west long
right = -66.9513812 # east long
bottom =  24.7433195 # south lat


USMetLandings = MetLandings %>%
  filter(reclat >= bottom) %>%
  filter ( reclat <= top) %>%
  filter( reclong >= left ) %>%
  filter(reclong <= right)

center_lon = median(USMetLandings$reclong,na.rm = TRUE)
center_lat = median(USMetLandings$reclat,na.rm = TRUE)


leaflet(USMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat, 
             color = c("blue"))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 4) 

10.1 Peek into the US Met Landings Data

USMetLandings = USMetLandings %>% arrange(desc(mass))

kable(head(USMetLandings,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
name id nametype recclass mass fall year reclat reclong GeoLocation
Canyon Diablo 5257 Valid Iron, IAB-MG 30000000 Found 1891 35.05000 -111.03333 (35.050000, -111.033330)
Chupaderos 5363 Valid Iron, IIIAB 24300000 Found 1852 27.00000 -105.10000 (27.000000, -105.100000)
Bacubirito 4919 Valid Iron, ungrouped 22000000 Found 1863 26.20000 -107.83333 (26.200000, -107.833330)
Willamette 24269 Valid Iron, IIIAB 15500000 Found 1902 45.36667 -122.58333 (45.366670, -122.583330)
Morito 16745 Valid Iron, IIIAB 10100000 Found 1600 27.05000 -105.43333 (27.050000, -105.433330)
Brenham 5136 Valid Pallasite, PMG-an 4300000 Found 1882 37.58250 -99.16361 (37.582500, -99.163610)

10.2 Distribution of US Meteorite Landings with Meteorite Mass

The mass of the Meteorites are indicated by the Radius of the Circles.

The mass has been converted to Kgs and then multiplied by 10

factpal <- colorFactor(c("red","blue"), 
                       USMetLandings$fall)

leaflet(USMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat,radius = ~(mass/1e3)*10 ,
             color = ~factpal(fall))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 4) %>%
  
  addLegend("bottomright", pal = factpal, values = ~fall,
            title = "Meteorites landings and fall",
            opacity = 1)

10.3 Heatmap of US Meteorite Landings

The intensity of the Heatmap is based on the mass of the meteorites.

USMetLandings %>% leaflet() %>% addProviderTiles("Esri.NatGeoWorldMap") %>% 
  addHeatmap(lng = ~reclong, lat = ~reclat, intensity = ~mass,
             blur = 20, max = 0.05, radius = 15) %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 4) 

10.4 Distribution of US Meteorite Landings with Cluster Markers

The meteorite landings have been clustered and their numbers are being shown in the map.

USMetLandings %>% leaflet() %>% addProviderTiles("Esri.OceanBasemap") %>% 
  addMarkers(lng = ~reclong, lat = ~reclat,clusterOptions = markerClusterOptions()) %>%
    # controls
  setView(lng=center_lon, lat=center_lat,zoom = 4) 

11 Distribution of African Meteorite Landings with Meteorite Mass

The mass of the Meteorites are indicated by the Radius of the Circles.The mass has been converted to Kgs and then multiplied by 10

top = 20 # north lat
left = -20 # west long
right = 50 # east long
bottom =  -40 # south lat


AfricaMetLandings = MetLandings %>%
  filter(reclat >= bottom) %>%
  filter ( reclat <= top) %>%
  filter( reclong >= left ) %>%
  filter(reclong <= right)

center_lon = median(AfricaMetLandings$reclong,na.rm = TRUE)
center_lat = median(AfricaMetLandings$reclat,na.rm = TRUE)


factpal <- colorFactor(c("red","blue"), 
                       AfricaMetLandings$fall)

leaflet(AfricaMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat,radius = ~(mass/1e3)*10 ,
             color = ~factpal(fall))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 3) %>%
  
  addLegend("bottomright", pal = factpal, values = ~fall,
            title = "Meteorites landings and fall",
            opacity = 1)

11.1 Peek into the Africa Met Landings Data

AfricaMetLandings = AfricaMetLandings %>% arrange(desc(mass))

kable(head(AfricaMetLandings,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
name id nametype recclass mass fall year reclat reclong GeoLocation
Hoba 11890 Valid Iron, IVB 60000000 Found 1920 -19.58333 17.91667 (-19.583330, 17.916670)
Gibeon 10912 Valid Iron, IVA 26000000 Found 1836 -25.50000 18.00000 (-25.500000, 18.000000)
Mbosi 15456 Valid Iron, ungrouped 16000000 Found 1930 -9.11667 33.06667 (-9.116670, 33.066670)
Kouga Mountains 12352 Valid Iron, IIIAB 1173000 Found 1903 -33.61667 24.00000 (-33.616670, 24.000000)
Rateldraai 22397 Valid Iron, IIIAB 549000 Found 1909 -28.83333 21.13333 (-28.833330, 21.133330)
Kokstad 12341 Valid Iron, IIIE 341000 Found 1884 -30.55000 29.41667 (-30.550000, 29.416670)

11.2 Heatmap of Africa Meteorite Landings

The intensity of the Heatmap is based on the mass of the meteorites.

AfricaMetLandings %>% leaflet() %>% addProviderTiles("Esri.NatGeoWorldMap") %>% 
  addHeatmap(lng = ~reclong, lat = ~reclat, intensity = ~mass,
             blur = 20, max = 0.05, radius = 15) %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 3) 

11.3 Distribution of Africa Meteorite Landings with Cluster Markers

The meteorite landings have been clustered and their numbers are being shown in the map.

AfricaMetLandings %>% leaflet() %>% addProviderTiles("Esri.OceanBasemap") %>% 
  addMarkers(lng = ~reclong, lat = ~reclat,clusterOptions = markerClusterOptions()) %>%
    # controls
  setView(lng=center_lon, lat=center_lat,zoom = 3) 

12 Distribution of Aus Meteorite Landings with Meteorite Mass

The mass of the Meteorites are indicated by the Radius of the Circles.The mass has been converted to Kgs and then multiplied by 10

top = -45 # north lat
left = 110 # west long
right = 145 # east long
bottom =  -10 # south lat


AusMetLandings = MetLandings %>%
  filter(reclat <=bottom) %>%
  filter ( reclat >= top) %>%
  filter( reclong >= left ) %>%
  filter(reclong <= right)

center_lon = median(AusMetLandings$reclong,na.rm = TRUE)
center_lat = median(AusMetLandings$reclat,na.rm = TRUE)


factpal <- colorFactor(c("red","blue"), 
                       AusMetLandings$fall)

leaflet(AusMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat,radius = ~(mass/1e3)*10 ,
             color = ~factpal(fall))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 4) %>%
  
  addLegend("bottomright", pal = factpal, values = ~fall,
            title = "Meteorites landings and fall",
            opacity = 1)

12.1 Peek into the Aus Met Landings Data

AusMetLandings = AusMetLandings %>% arrange(desc(mass))

kable(head(AusMetLandings,6),"html") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
  scroll_box(width = "800px")
name id nametype recclass mass fall year reclat reclong GeoLocation
Mundrabilla 16852 Valid Iron, IAB-ung 24000000 Found 1911 -30.78333 127.5500 (-30.783330, 127.550000)
Youndegin 30374 Valid Iron, IAB-MG 3800000 Found 1884 -32.10000 117.7167 (-32.100000, 117.716670)
Huckitta 11922 Valid Pallasite, PMG-an 2300000 Found 1924 -22.36667 135.7667 (-22.366670, 135.766670)
Henbury 11872 Valid Iron, IIIAB 2000000 Found 1931 -24.56667 133.1667 (-24.566670, 133.166670)
Murnpeowie 16878 Valid Iron, IC 1143000 Found 1909 -29.58333 139.9000 (-29.583330, 139.900000)
Wolf Creek 24326 Valid Iron, IIIAB 760000 Found 1947 -19.30000 127.7667 (-19.300000, 127.766670)

12.2 Heatmap of Aus Meteorite Landings

The intensity of the Heatmap is based on the mass of the meteorites.

AusMetLandings %>% leaflet() %>% addProviderTiles("Esri.NatGeoWorldMap") %>% 
  addHeatmap(lng = ~reclong, lat = ~reclat, intensity = ~mass,
             blur = 20, max = 0.05, radius = 15) %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 4) 

12.3 Distribution of Aus Meteorite Landings with Cluster Markers

The meteorite landings have been clustered and their numbers are being shown in the map.

AusMetLandings %>% leaflet() %>% addProviderTiles("Esri.OceanBasemap") %>% 
  addMarkers(lng = ~reclong, lat = ~reclat,clusterOptions = markerClusterOptions()) %>%
    # controls
  setView(lng=center_lon, lat=center_lat,zoom = 4) 

13 Year Analysis

13.1 Years with the Most Meteorite Landings

MetLandings %>%
    group_by(year) %>%
    summarise(Count = n()) %>%
    arrange(desc(Count)) %>%
    ungroup() %>%
    mutate(year = reorder(year,Count)) %>%
    head(20) %>%
    
    ggplot(aes(x = year,y = Count)) +
    geom_bar(stat='identity',colour="white", fill = fillColor2) +
    geom_text(aes(x = year, y = 1, label = paste0("(",Count,")",sep="")),
              hjust=0, vjust=.5, size = 4, colour = 'black',
              fontface = 'bold') +
    labs(x = 'Meteorites Year', 
         y = 'Count', 
         title = 'Meteorites Year and Count') +
    coord_flip() + 
    theme_bw()

13.2 Time Series from Year 1970

The time series shows the Count of the Meteorites and their corresponding Years.

MetLandings %>%
    filter(year >= 1970) %>%
    group_by(year) %>%
    summarise(Count = n()) %>%
    arrange(year) %>%

    ggplot(aes(x = year,y = Count)) +
    geom_bar(stat='identity',colour="white", fill = fillColor) +
    
    labs(x = 'Meteorites Year', 
         y = 'Count', 
         title = 'Meteorites Year and Count') +
        theme_bw()

13.3 Comparison of Mass and Years

The plot shows the Years which have experienced the Top Twenty Heavy Meteorites.The mass of the meteorities in this plot is measured in Kilograms.

MetLandings %>%
    mutate( mass = mass/1e3) %>%
    group_by(year) %>%
    summarise(MassMed = median(mass)) %>%
    arrange(desc(MassMed)) %>%
    ungroup() %>%
    mutate(year = reorder(year,MassMed)) %>%
    head(20) %>%
    
    ggplot(aes(x = year,y = MassMed)) +
    geom_bar(stat='identity',colour="white", fill = fillColor2) +
    geom_text(aes(x = year, y = 1, label = paste0("(",round(MassMed),")",sep="")),
              hjust=0, vjust=.5, size = 4, colour = 'black',
              fontface = 'bold') +
    labs(x = 'Meteorites Class', 
         y = 'Mass Median', 
         title = 'Meteorites Year and Mass Median') +
    coord_flip() + 
    theme_bw()

13.4 Comparison of Mass and Years from 1900 onwards

The plot shows the Years which have experienced the Top Twenty Heavy Meteorites. The mass of the meteorities in this plot is measured in Kilograms.

MetLandings %>%
    mutate( mass = mass/1e3) %>%
    filter(year > 1900) %>%
    group_by(year) %>%
    summarise(MassMed = median(mass)) %>%
    arrange(desc(MassMed)) %>%
    ungroup() %>%
    mutate(year = reorder(year,MassMed)) %>%
    head(20) %>%
    
    ggplot(aes(x = year,y = MassMed)) +
    geom_bar(stat='identity',colour="white", fill = fillColor) +
    geom_text(aes(x = year, y = 1, label = paste0("(",round(MassMed),")",sep="")),
              hjust=0, vjust=.5, size = 4, colour = 'black',
              fontface = 'bold') +
    labs(x = 'Meteorites Year', 
         y = 'Mass Median', 
         title = 'Meteorites Year and Mass Median') +
    coord_flip() + 
    theme_bw()

14 L6 Meteorite Analysis

14.1 Distribution of L6 Meteorite Landings

The following plot shows the distribution of the L6 meteorite landings all over the world.

MetLandings_L6 = MetLandings %>%
  filter(recclass == 'L6')

center_lon = median(MetLandings_L6$reclong,na.rm = TRUE)
center_lat = median(MetLandings_L6$reclat,na.rm = TRUE)


leaflet(MetLandings_L6) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat, 
             color = c("red"))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 1)

14.2 Summary of the L6 Meteorites Mass

summary(MetLandings_L6$mass)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
##      0.0      7.6     34.3   1694.6    202.0 564000.0        6

14.3 Time Series from Year 1970 for L6

The time series shows the Count of the L6 Meteorites and their corresponding Years.

MetLandings_L6 %>%
    filter(year >= 1970) %>%
    group_by(year) %>%
    summarise(Count = n()) %>%
    arrange(year) %>%

    ggplot(aes(x = year,y = Count)) +
    geom_bar(stat='identity',colour="white", fill = fillColor) +
    
    labs(x = 'Meteorites Year', 
         y = 'Count', 
         title = 'Meteorites Year and Count') +
        theme_bw()

14.4 Distribution of L6 US Meteorite Landings with Meteorite Mass

The mass of the Meteorites are indicated by the Radius of the Circles.

top = 49.3457868 # north lat
left = -124.7844079 # west long
right = -66.9513812 # east long
bottom =  24.7433195 # south lat


USMetLandings = MetLandings_L6 %>%
  filter(reclat >= bottom) %>%
  filter ( reclat <= top) %>%
  filter( reclong >= left ) %>%
  filter(reclong <= right)

center_lon = median(USMetLandings$reclong,na.rm = TRUE)
center_lat = median(USMetLandings$reclat,na.rm = TRUE)

factpal <- colorFactor(c("red","blue"), 
                       USMetLandings$fall)

leaflet(USMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat,radius = ~(mass) ,
             color = ~factpal(fall))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 4) %>%
  
  addLegend("bottomright", pal = factpal, values = ~fall,
            title = "Meteorites landings and fall",
            opacity = 1)

14.5 Distribution of Indian Meteorite L6 Landings with Meteorite Mass

The mass of the Meteorites are indicated by the Radius of the Circles.

IndiaMetLandings = IndiaMetLandings %>% filter(recclass == 'L6')

center_lon = median(IndiaMetLandings$reclong,na.rm = TRUE)
center_lat = median(IndiaMetLandings$reclat,na.rm = TRUE)


factpal <- colorFactor(c("red"), 
                       IndiaMetLandings$fall)

leaflet(IndiaMetLandings) %>% addProviderTiles("Esri.NatGeoWorldMap") %>%
  addCircles(lng = ~reclong, lat = ~reclat,radius = ~(mass) ,
             color = ~factpal(fall))  %>%
  # controls
  setView(lng=center_lon, lat=center_lat,zoom = 5) %>%
  
  addLegend("bottomright", pal = factpal, values = ~fall,
            title = "Meteorites landings and fall",
            opacity = 1)